package com.inkFlow.book.domain.vo;

import cn.idev.excel.annotation.ExcelIgnoreUnannotated;
import cn.idev.excel.annotation.ExcelProperty;
import com.inkFlow.book.domain.InkBook;
import io.github.linpeilie.annotations.AutoMapper;
import lombok.Data;

import java.io.Serial;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;



/**
 * 小说视图对象 ink_book
 *
 * @author inkFlow
 * @date 2025-08-22
 */
@Data
@ExcelIgnoreUnannotated
@AutoMapper(target = InkBook.class)
public class InkBookVo implements Serializable {

    @Serial
    private static final long serialVersionUID = 1L;

    /**
     * 小说id
     */
    @ExcelProperty(value = "小说id")
    private Integer bookId;

    /**
     * 爬虫标识
     */
    @ExcelProperty(value = "爬虫标识")
    private Integer crawlSourceId;

    /**
     * 爬虫小说id
     */
    @ExcelProperty(value = "爬虫小说id")
    private String crawlBookId;

    /**
     * 作品方向，1：男频，2：女频
     */
    @ExcelProperty(value = "作品方向，1：男频，2：女频")
    private Integer workDirection;

    /**
     * 小说名称
     */
    @ExcelProperty(value = "小说名称")
    private String bookName;

    /**
     * 小说简介
     */
    @ExcelProperty(value = "小说简介")
    private String bookDesc;

    /**
     * 作者表id
     */
    @ExcelProperty(value = "作者表id")
    private Integer authorId;

    /**
     * 作者名称
     */
    @ExcelProperty(value = "作者名称")
    private String authorName;

    /**
     * 小说封面
     */
    @ExcelProperty(value = "小说封面")
    private String coverUrl;

    /**
     * 点击量
     */
    @ExcelProperty(value = "点击量")
    private Integer visitCount;

    /**
     * 评论数
     */
    @ExcelProperty(value = "评论数")
    private Integer commentCount;

    /**
     * 总字数
     */
    @ExcelProperty(value = "总字数")
    private Integer wordCount;

    /**
     * 小说评分
     */
    @ExcelProperty(value = "小说评分")
    private BigDecimal bookScore;

    /**
     * 小说更新状态，1：连载中；2：完结
     */
    @ExcelProperty(value = "小说更新状态，1：连载中；2：完结")
    private Integer updateStatus;

    /**
     * 书架状态，1：入库；2：上架
     */
    @ExcelProperty(value = "书架状态，1：入库；2：上架")
    private Integer shelfStatus;

    /**
     * 审核状态，1：待审核；2：审核驳回；3：审核通过；4：删除待审核；5：已删除
     */
    @ExcelProperty(value = "审核状态，1：待审核；2：审核驳回；3：审核通过；4：删除待审核；5：已删除")
    private Integer applyStatus;

    /**
     * 审核结果描述
     */
    @ExcelProperty(value = "审核结果描述")
    private String applyResult;

    /**
     * 最后一次的抓取时间
     */
    @ExcelProperty(value = "最后一次的抓取时间")
    private Date crawlLastTime;

    /**
     * 最新章节id
     */
    @ExcelProperty(value = "最新章节id")
    private Integer lastChapterId;

    /**
     * 小说来源，1：自有；2：爬虫
     */
    @ExcelProperty(value = "小说来源，1：自有；2：爬虫")
    private Integer bookSource;

    /**
     * 是否收费，1：免费，2：收费
     */
    @ExcelProperty(value = "是否收费，1：免费，2：收费")
    private Integer vipStatus;


}
